function showMsg(title, msg) {
    $.messager.show({
        title: title,
        msg: msg,
        timeout: 3000,
        showType: 'slide'
    });
}

function reloadFrm(id, url) {
    $.messager.progress();
    $('#'+id).form('clear').form('load', url);
    $.messager.progress('close');
}

function submitFrm(id, msg) {
    $.messager.progress();
    $('#'+id).form('submit',{
        onSubmit: function () {
            var isValid = $(this).form('validate');
            if (!isValid){
                $.messager.progress('close');
            }
            return isValid;
        },
        success: function(data) {
            $.messager.progress('close');
            var data = eval('(' + data + ')');
            if(data.ok && (data.errCode == 0)) {
                showMsg('操作成功',msg+'成功!');
            } else {
                msg = data.msg == '' ? msg : data.msg;
                showMsg('操作失败', msg+'失败!<br/>错误代码:'+data.errCode+'.');
            }
        }
    });
}

function submitFrm(id, msg, dg_id) {
    $.messager.progress();
    $('#'+id).form('submit',{
        onSubmit: function () {
            var isValid = $(this).form('validate');
            if (!isValid){
                $.messager.progress('close');
            }
            return isValid;
        },
        success: function(data) {
            $.messager.progress('close');
            var data = eval('(' + data + ')');
            if(data.ok && (data.errCode == 0)) {
                $('#'+dg_id).datagrid('reload');
                showMsg('操作成功',msg+'成功!');
            } else {
                msg = data.msg == '' ? msg : data.msg;
                showMsg('操作失败', msg+'失败!<br/>错误代码:'+data.errCode+'.');
            }
        }
    });
}

Date.prototype.format = function(fmt) {
    var o = {
        "M+" : this.getMonth()+1,                 //月份
        "d+" : this.getDate(),                    //日
        "h+" : this.getHours(),                   //小时
        "m+" : this.getMinutes(),                 //分
        "s+" : this.getSeconds(),                 //秒
        "q+" : Math.floor((this.getMonth()+3)/3), //季度
        "S"  : this.getMilliseconds()             //毫秒
    };
    if(/(y+)/.test(fmt)) {
        fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));
    }
    for(var k in o) {
        if(new RegExp("("+ k +")").test(fmt)){
            fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
        }
    }
    return fmt;
}

var errDateMsg = '结束日期不能早于开始日期!';
$.extend($.fn.validatebox.defaults.rules, {
    equalStartDate: {
        validator: function(value, param){
            var d1 = $(param[0]).datebox('getValue');
            if (d1==null || d1==''){
                errDateMsg = '开始日期不能为空!';
                return false;
            }
            d1 = new Date(d1);
            var d2 = new Date(value);
            return d2>=d1;
        },
        message: errDateMsg
    }
})
